#!/usr/bin/python
# -*-coding: UTF-8 -*-
"""
# Time: 2024/5/8 11:07
# @Author: 修养
# @Project_name: PROJECT_NAME
"""

# ~~~~~~~~~~~~~~列表 ~~~~~~~~~~~~~~
# list1 = ['周恩来', '毛泽东', '李大钊', '陈独秀', 43]
# print("输出索引为1的值", list1[1])
# list1[0] = "中国共产党"
# print("更新索引为0的元素：", list1)

list1 = ['周恩来', '毛泽东', '李大钊', '陈独秀', 28]
print("输出索引为0的元素：", list1[0])

print("~~~~~~~~~~~~~~11111111列表的增改删~~~~~~~~~~~~~~")
# # 插入元素
# list1.insert(2, '朱德')
# print("添加元素后的列表：", list1)
# # 追加元素
# list1.append('鲁迅')
# print("追加元素鲁迅：", list1)

# 在指定索引处插入一个元素，后面元素往后移
list1.insert(0, '中国共产党')
print("添加指定索引处元素后的列表：", list1)
list1.append('蔡元培')
print("列表追加元素后的列表：", list1)

# # 删除元素
# del list1[0]
# print("删除索引为0的元素：", list1)
# list1.pop(1)   # 弹出元素，加索引弹出索引对应的值，不加索引弹出末尾元素
# print("弹出末尾元素：", list1.pop())
# list1.remove(43)
# print("删除元素43,若删除的元素不存在则抛出异常：", list1)

# 删除元素
del list1[5]
print("删除索引为5的元素：", list1)
list1.pop(0)  # 弹出元素，不加索引时，弹出末尾处的值，加索引弹出指定索引的值
print("弹出指定索引处元素的列表：", list1)
list1.remove('蔡元培')
print("删除指定元素后的列表：", list1)

# 修改列表
# list1[0] = "周恩来"
# print(list1)
# print(f"你好{list1[0]}, 欢迎加入中国共产党")
#
# for name in list1:
#     print("Hello, " + name)
list1[3] = '郭沫若'
print("修改指定索引处的列表：", list1)
print(f"你好{list1[3]},欢迎加入中国共产党")
for name in list1:
    print("你好,", name, '同志！')

# list2 = [1, 3, 12, 0, 9]
# # 列表正向排序
# list2.sort()  # 对列表永久排序，改变原列表排序顺序
# print("按数字大写升序：", list2)
# # 列表逆向排序
# list2.reverse()  # 对列表永久排序，改变原列表排序顺序
# print("按数字大写降序：", list2)
# new_list = sorted(list2)  # 对列表暂时排序，未改变原列表顺序
# print("原列表：", list2)
# print("排序后的列表：", new_list)
list2 = [1, 3, 21, 6, 2]
# 列表正向排序
list2.sort()  # 对列表永久排序，改变原列表排序顺序
print("按数字大小升序：", list2)
new_list = sorted(list2)  # 对列表暂时排序，未改变原列表顺序
print("原列表：", list2)
print("排序后的列表：", new_list)

print("~~~~~~~~~~~~~~~~~~22222222对列表进行切片~~~~~~~~~~~~~~~~~~~")
# a = [1, 3, 5, 10, 21]
#
# print("列表切片，输出第一个河第2个：", a[0:2])
# print("列表切片, 输出前三个：", a[:3])
# print("列表切片,输出全部：", a[:])  # 等价于：a
# print("列表切片，按步长为2输出：", a[0::2])

a = [1, 3, 5, 7, 9]
print("列表切片, 输出第一个和第2个：", a[0:2])
print("列表切片，输出前三个：", a[:3])
print("列表切片，输出全部：", a[:])  # 等价于：a
print("列表切片，按步长为2输出：", a[0::2])
print("列表切片，逆序输出", a[::-1])
print("列表切片，逆序输出", a[::-2])


print("~~~~~~~~~~~~~~~~~~3333对列表进行遍历~~~~~~~~~~~~~~~~~~~")
# nations = ["中国", "法国", "俄国"]
# for nation in nations:
#     print("Welcome to", nation)
provinces = ["陕西省", "四川省", "广东省"]
for province in provinces:
    print("欢迎来到:", province, "!")
